#include <iostream>

int main(int argc, char const *argv[])
{
    int a[3];
    int b[] = {1,2,3};
    int x = 10;
    //指针数组， c是一个长度为3的数组，存储指针
    int *c[] = {&x};
    //数组指针
    int(*d)[3] = &b;
    //输出1， 此刻，d首先是个指针，解引用之后，就是一个长度为3的数组
    std::cout << (*d)[0] << std::endl;

    //数组的引用
    int (&e)[3] = b;
    e[0] = 4;
    //输出4，此时，e就是b数组对象的引用
    std::cout << b[0] << std::endl;
    return 0;
}
